#include "console_tester.h"

#include "test_digit.h"
#include "test_feature.h"
#include "test_text.h"

Zen::ConsoleTester* GetTester()
{
    static Zen::ConsoleTester tester;
    return &tester;
}

int main(int argc, const char* argv[])
{
    auto t = GetTester();

    t->AddTestCase("quit", std::bind(&exit, 0));
    t->AddTestCase("show", [t]() { t->ShowCases(); });

    t->ShowCases();

    while (cin.good())
    {
        std::cin.clear();
        std::string name;
        std::cin >> name;
        t->RunTest(name);
    }
    return 0;
}
